﻿using System.Collections.Generic;
using SIG.Model.Articles;
using System.Threading.Tasks;
using System.Threading;

namespace SIG.Service
{
    public interface IArticleService : IEntityService<Article>
    {
        Task<IList<Article>> GetActiveElementsAync(CancellationToken cancellationToken = default(CancellationToken));
        Article GetArticleDetail(int id);
        List<Article> GetPagedActiveElements(int pageIndex, int pageSize, string keyword, int? categoryId, out int totalCount);


        List<Article> GetPagedElements(int pageIndex, int pageSize, string keyword, int? categoryId, out int totalCount);
        IEnumerable<Article> RecommendArticles(int count);
        IEnumerable<Article> LatesterArticles(int count);
        IEnumerable<Article> LatesterArticles(int count, int categoryId);
    }
}
